package com.zhijian.warehouse.manage.entity.po;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import javax.validation.constraints.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 通道门标签感应记录
 * @author Auto Generator
 * @date 2024-10-28 17:42:23
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "通道门标签感应记录")
public class AccessFacilityRecord {
    /**
     * 主键自增id
     */
    @ApiModelProperty("主键自增id")
    private Long id;

    /**
     * 产品id
     */
    @ApiModelProperty("产品id")
    private Long productId;

    /**
     * 标签码
     */
    @ApiModelProperty("标签码")
    @NotBlank(message = "标签码不能为空")
    private String rfId;

    /**
     * 通道门IP
     */
    @ApiModelProperty("通道门IP")
    private String doorIp;

    /**
     * 仪器领用归还ip
     */
    @ApiModelProperty("仪器领用归还ip")
    private Long accessProductRecordId;

    /**
     * 进出行为 1 = 出 2 =  进
     */
    @ApiModelProperty("进出行为 1 = 出 2 =  进")
    @NotNull(message = "进出行为 1 = 出 2 =  进不能为空")
    private Integer type;

    /**
     * 登记状态 0 = 未登记 1 = 已登记
     */
    @ApiModelProperty("登记状态 0 = 未登记 1 = 已登记")
    @NotNull(message = "登记状态 0 = 未登记 1 = 已登记不能为空")
    private Integer registerType;

    /**
     * 是否违规 0 = 未违规 1 = 违规
     */
    @ApiModelProperty("是否违规 0 = 未违规 1 = 违规")
    @NotNull(message = "是否违规 0 = 未违规 1 = 违规不能为空")
    private Integer isViolator;

    /**
     * 异常状态 0 = 未关闭 1 = 已关闭
     */
    @ApiModelProperty("异常状态 0 = 未关闭 1 = 已关闭")
    @NotNull(message = "异常状态 0 = 未关闭 1 = 已关闭不能为空")
    private Integer abnType;

    /**
     * 违规原因
     */
    @ApiModelProperty("违规原因")
    private String violatorMsg;

    /**
     * 备注（关闭原因）
     */
    @ApiModelProperty("备注（关闭原因）")
    private String msg;

    /**
     * 1 = 正常领出 2 = 违规领出 3 = 入库归还 4 = 违规入库
     */
    @ApiModelProperty("1 = 正常领出 2 = 违规领出 3 = 入库归还 4 = 违规入库")
    @NotNull(message = "1 = 正常领出 2 = 违规领出 3 = 入库归还 4 = 违规入库不能为空")
    private Integer status;

    /**
     * 关闭人（当前登录人id）
     */
    @ApiModelProperty("关闭人（当前登录人id）")
    private Long closeUserId;

    /**
     * 操作人（当前登录人id）
     */
    @ApiModelProperty("操作人（当前登录人id）")
    private Long createUserId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @NotNull(message = "创建时间不能为空")
    private Date createTime;

    /**
     * 更新人
     */
    @ApiModelProperty("更新人")
    private Long updateUserId;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @NotNull(message = "更新时间不能为空")
    private Date updateTime;
}